package com.syh.jn.scm.service.api.downstream.finance;

import com.syh.jn.scm.dto.downstream.finance.DownStatementAccountBillItemVo;
import com.syh.jn.scm.dto.downstream.finance.DownStatementAccountBillMto;
import com.syh.jn.scm.dto.downstream.finance.DownStatementAccountBillSto;
import com.syh.jn.scm.dto.downstream.finance.DownStatementAccountBillVo;
import com.syh.jn.scm.dto.support.FilesDto;
import com.syh.jn.scm.service.core.BaseService;

import java.util.List;

/**
 * Date:2018/7/19
 * Author:Clown
 * 下游对账单service接口;
 */
public interface DownStatementAccountBillService extends BaseService<DownStatementAccountBillSto, DownStatementAccountBillMto, DownStatementAccountBillVo, Long> {
  /**
   * 业务确认
   *
   * @param id
   */
  public void businessConfirmation(Long id);

  /**
   * 业务取消确认
   *
   * @param id
   */
  public void businessCancelConfirmation(Long id);

  /**
   * 财务确认
   *
   * @param id
   */
  public void financeConfirmation(Long id);

  /**
   * 财务取消确认
   *
   * @param id
   */
  public void financeCancelConfirmation(Long id);

  /**
   * 上传单据图片
   *
   * @param dto
   */
  public void upload(FilesDto dto);

  /**
   * 根据对账单id获取明细
   *
   * @param statementId 对账单id
   * @return
   */
  public List<DownStatementAccountBillItemVo> getItemsByStatementId(Long statementId);
}
